#ifndef __DEV_MOTOR_H__
#define __DEV_MOTOR_H__
#include "dev_comm.h"


#define STOP	0
#define GO 		1
#define BACK 	2


//***************************配置电机驱动IO口***************************//
#define MOTOR_A_DIR(dir_state)	Drv_wirte_motor_dir(MOTOR_A,dir_state)
#define MOTOR_B_DIR(dir_state)	Drv_wirte_motor_dir(MOTOR_B,dir_state)
#define MOTOR_C_DIR(dir_state)	Drv_wirte_motor_dir(MOTOR_C,dir_state)
#define MOTOR_D_DIR(dir_state)	Drv_wirte_motor_dir(MOTOR_D,dir_state)

enum
{
	MOTOR_A = 0,
	MOTOR_B,
	MOTOR_C,
	MOTOR_D,
};

/**
* @brief  前进
	* @parm   None
	* @retval None
	*/
void Dev_Car_Go(void);
/**
* @brief  后退
	* @parm   None
	* @retval None
	*/
void Dev_Car_Back(void);
/**
* @brief  向左
	* @parm   None
	* @retval None
	*/
void Dev_Car_Left(void);
/**
* @brief  向左前45度
	* @parm   None
	* @retval None
	*/
void Dev_Car_LeftQ45(void);
/**
* @brief  向左后45度
	* @parm   None
	* @retval None
	*/
void Dev_Car_LeftH45(void);
/**
* @brief  向左转圈
	* @parm   None
	* @retval None
	*/
void Dev_Car_Turn_Left(void);
/**
* @brief  向右
	* @parm   None
	* @retval None
	*/
void Dev_Car_Right(void);
/**
* @brief  向右前45度
	* @parm   None
	* @retval None
	*/
void Dev_Car_RightQ45(void);
/**
* @brief  向右后45度
	* @parm   None
	* @retval None
	*/
void Dev_Car_RightH45(void);
/**
* @brief  向右转圈
	* @parm   None
	* @retval None
	*/
void Dev_Car_Turn_Right(void);
/**
* @brief  停车
	* @parm   None
	* @retval None
	*/
void Dev_Car_Stop(void);
/**
* @brief  电机控制使能
	* @parm   None
	* @retval None
	*/
void Dev_Motor_Active(uint8_t active);
/**
	* @brief  电机速度全部设置
	* @parm   None
	* @retval None
	*/
void Dev_Motor_Speed_All_Set(uint8_t speed);
/**
* @brief 电机速度单独设置 
* @parm   speed_A speed_B speed_C speed_D 速度范围 [-100,100] 负的为反转 正的为正转
	* @retval None 
	*/
void Dev_Motor_Speed_Alone_Set(int8_t speed_A,int8_t spee_B,int8_t speed_C,int8_t speed_D);
/**
* @brief  电机控制初始化
	* @parm   None
	* @retval None
	*/
void Dev_Motor_Init(void);
#endif
